package com.jcxy.mapper;

import com.jcxy.pojo.Dept;
import com.jcxy.pojo.Position;

import java.util.List;
import java.util.Map;

public interface PositionMapper {

    /**
     * 通过部门id，查询部门职位
     * @param dept_id
     * @return
     */
    List<Position> queryPositionByDeptId(Integer dept_id);

    /**
     * 查询所有职位个数
     * @param dto
     * @return
     */
    Integer queryAllPositionCount(Map dto);

    /**
     * 查询职位列表
     * @param dto 包含查询条件和分页信息
     * @return
     */
    List<Position> queryPosition(Map dto);

    /**
     * 通过职位id查询该职位的所属部门id信息
     * @param position_id
     * @return
     */
    List<Integer> queryDeptIdByJobId(Integer position_id);

    /**
     * 插入职位基本信息
     * @param position
     */
    void insertPosition(Position position);

    /**
     * 插入职位-部门关系信息
     * @param position
     */
    void insertPositionRelationDept(Position position);

    /**
     * 更新职位基本信息
     * @param dto
     * @return
     */
    int updatePosition(Map dto);

    /**
     * 删除职位原本属于的部门关系
     * @param position_id
     * @return
     */
    int deletePositionRelationDept(Integer position_id);

    /**
     * 删除职位信息
     * @param position_id
     * @return
     */
    int deletePositionById(Integer position_id);

    /**
     * 通过部门id查询该部门的所拥有的职位id信息
     * @param dept_id
     * @return
     */
    List<Integer> queryPositionIdByDeptId(Integer dept_id);
}
